home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: Greatest Hits 1996 / Amiga Games: Greatest Hits 1996.iso / rexx / autoscan.agaiff < prev    next >
Text File  |  1995-04-23  |  2KB  |  81 lines

  1. /* AutoScan.agaiff */
  2.  
  3. address agaiff_rexx
  4. options results
  5.  
  6. call close 'STDOUT'
  7. call close 'STDIN'
  8. call open 'STDIN','CON:20/20/500/120/AGAiff - AutoScanning picture..'
  9. call pragma '*','STDIN'
  10. call open 'STDOUT','*'
  11.  
  12. status 0
  13. if result == "" then do
  14.     say "No picture loaded.."
  15.     address command wait 1
  16.     exit
  17. end
  18.  
  19. say "AutoScanning" result || ":"
  20. say "Enter border color please."
  21. pull colnum
  22.  
  23. requestfile "AutoScan - SaveFilename"
  24. filename = result
  25. if filename == "" then exit
  26.  
  27. status 1
  28. parse var result sizex sizey
  29.  
  30. showgui
  31. typetext "AutoScanning picture sized" sizex sizey
  32.  
  33. startx = 0
  34. numranges = 0
  35. do actline=0 for sizey
  36.    do until startx = 0
  37.     searchpixel startx actline colnum
  38.     if rc=0 then do
  39.         actx1 = result
  40.         do xloop=actx1+1 until result ~= colnum
  41.             getpixel xloop actline
  42.             if rc = 1 then leave
  43.         end
  44.         if xloop-actx1 > 2 then do
  45.             do yloop=actline+1 until result ~= colnum
  46.                 getpixel actx1 yloop
  47.                 if rc = 1 then leave
  48.             end
  49.             if yloop-actline > 2 then do
  50.                 typetext "Found range at" actx1+1 actline+1 "w/h" xloop-actx1-2 yloop-actline-2
  51.                 ranges.numranges.x1 = actx1+1
  52.                 ranges.numranges.y1 = actline+1
  53.                 ranges.numranges.x2 = xloop-2
  54.                 ranges.numranges.y2 = yloop-2
  55.                 numranges = numranges + 1
  56.             end
  57.         end
  58.         startx = xloop+1
  59.     end
  60.     else startx = 0
  61.    end
  62. end
  63.  
  64. if numranges = 0 then do
  65.     typetext "No range found."
  66.     exit
  67. end
  68.  
  69. typetext "No more ranges found. Saving.."
  70. address command wait 1
  71.  
  72. showpic
  73. do abc = 0 for numranges
  74.     range ranges.abc.x1 ranges.abc.y1 ranges.abc.x2 ranges.abc.y2
  75.     typetext abc
  76.     save filename||"."||abc
  77. end
  78.  
  79. showgui
  80. typetext numranges "ranges saved as" filename||".%d !!"
  81.